草庐IT

PhpUnit 模拟 : function undefined

全部标签

php - 使用 Mockery 模拟在另一个静态方法中调用的静态方法

我想使用Mokcerymock一个已经在另一个方法中使用过的静态方法,如下:ClassSomeClass{publicstaticfunctionmethodA(){.....;self::B();}publicstaticfunctionmethodB(){DoSomeThing}}如果我想模拟方法B,并使用方法A,模拟功能不起作用,只是因为方法B在方法A中使用,如下所示useMockeryasm;$mocktest=m::mock->('SomeClass[B]');$mocktest->shouldReceive('B')->andReturn("expectedResult")

php - 是否可以使用 PHPUnit 对类文件以外的 php 文件进行单元测试?

我是PHPUnit的新手。我有一些没有任何类的php文件。我从阅读文档中了解到,PHPUnit将类视为一个单元。那么PHPUnit是否将类视为一个单元?是否可以测试其中没有任何类的php文件? 最佳答案 当然,您完全可以测试其他PHP脚本。classMyScriptTestextendsPHPUnit_Framework_TestCase{publicfunctiontestMyFunction(){include_once'path/to/script.php';$result=someFunction();$this->asse

php - 拉拉维尔 : phpunit cannot open file ExampleTest. PHP

您好,我在LaravelPHPUnit中退出了新版本,出现以下错误:Laravel:phpunitcannotopenfileExampleTest.php我不知道为什么会收到此错误。我在全局范围内安装了PHPUnit,当我在终端中运行“phpunit”时,它运行良好。但我想在特定文件上运行它,例如:phpunitExampleTest提前致谢。 最佳答案 确保您位于项目根目录并引用测试文件夹中的文件。例子:phpunittests/ExampleTest.php 关于php-拉拉维尔:

php - 在 Laravel 中使用 Mockery/phpUnit 时出错

我是一名新手开发人员,试图为现有的Laravel应用程序启动测试套件,但我没有测试经验。现在我只是想建立一些测试以获得一些信心和经验来编写更实质性的测试。我正在尝试测试模型上的关系(我意识到这不是一个非常明智的测试)并尝试创建一个模拟模型对象来这样做(我也明白最好在sqlite数据库的内存中执行此操作但主要这里的目标是测试Controller,但我不知道如何处理那里的身份验证问题)。我有以下简单、愚蠢的测试:publicfunctiontestFoo(){$lead=m::mock('Lead');$this->mock->shouldReceive('program')->once(

php - 在 Laravel Dusk 测试中模拟 HTTP_REFERER?

有没有一种直接的方法可以在Dusk测试中模拟HTTP_REFERER?我正在使用Laravel\Dusk\Browser并在各个页面上调用visit()方法。这是使用Selenium驱动程序。类似于下面的setReferer:namespaceExample\Tests\Browser\Processes\PublicSite;classSampleBrowserextendsBrowser{useMakesAssertions,ProvidesAdditionalBrowserActions,WaitsForElements;publicfunction__construct(Rem

php - 在 PHP 中模拟泛型类

我正在尝试实现一个处理查询的结果类。所以,简单地说,您将拥有这样的功能:functionall();functionfirst();functionpaginate(int$perPage,int$pageNo=1);这工作得很好,问题是当在多个不同的查询类中使用相同的结果类时,IDE无法知道返回类型。示例:UserQuery->results()->all()将返回一组用户实体。UserQuery->results()->first()将返回单个用户实体。在某些语言中,你有泛型,这意味着我可以只使用Results在UserQuery类中,然后我的结果类可以返回T[]和T分别。我的一个

php - PHPUnit 中的模拟对象来模拟静态方法调用?

我正在尝试测试一个管理数据库中数据访问的类(您知道,本质上是CRUD)。我们正在使用的DB库恰好有一个API,您首先通过静态调用获取表对象:functiongetFoo($id){$MyTableRepresentation=DB_DataObject::factory("mytable");$MyTableRepresentation->get($id);...dosomestuffreturn$somedata}...你明白了。我们正在尝试测试此方法,但模拟了DataObject的东西,以便(a)我们不需要实际的数据库连接来进行测试,并且(b)我们甚至不需要包含DB_DataObj

PHPUnit 提供程序不使用依赖项

我正在使用PHPUnit3.4.9,但我在使用@depends注释时遇到了一些问题。它的工作方式与示例中的一样,但是当生产者依赖于提供者时会中断。我不知道这是否有效,但我的代码基本上是以下形式:assertTrue(empty($stack));return$stack;}/***@dependstestEmpty*/publicfunctiontestPush(array$stack){array_push($stack,'foo');$this->assertEquals('foo',$stack[count($stack)-1]);$this->assertFalse(empty

PHPUNIT xdebug codecoverage 在控制台 (mac) MAMP 1.9 PRO 中不起作用

您好,我的xdebug连接到PHPUnit有问题。运行时:phpunit--coverage-html./reportunit我得到:PHPUnit3.4.15bySebastianBergmann.TheXdebugextensionisnotloaded.当我运行php-v时PHP5.2.13(cli)(built:Mar5201016:23:44)Copyright(c)1997-2010ThePHPGroupZendEnginev2.2.0,Copyright(c)1998-2010ZendTechnologieswitheAcceleratorv0.9.6,Copyright

phpunit - 返回两个对象到下一个测试用例

在某些地方,我的phpunit方法依赖于两个类,因此我决定编写一个专用方法来创建这两个类(彼此相关)的实例,并将它们传递给所有phpunit方法。我想做类似下面的事情。publicfunctiontestGetInstance(){$obj1=newClass1();$obj2=newClass2();return$obj1,$obj2;//caniuselist?}/***@dependstestGetInstance()*/publicfunctiontestBothFeatures(Class1$obj1,Class2$obj2)//howtopass2instances?{//